Partitioning data elements into parts is a particular problem in many fields such as computer vision, handwriting recognition (including electronic ink handwriting), speech recognition and natural language processing. We use the term “partitioning” herein to refer to finding one or more sets of data elements (be they image elements, speech elements, handwriting elements, video image elements or other data elements) where the data elements in a set belong to the same particular part. For example, in the field of computer vision the part can be an object and in the field of natural language the part might be a word, phrase or phoneme. In contrast, the term “labeling or classifying” is used herein to refer to identifying whether data elements are of a particular type rather than that they are a particular item. For example, whether electronic ink strokes constitute a box or a connector between boxes in an organization chart.
Partitioning data elements is a complex task especially because data elements are typically individually ambiguous. Thus it is difficult to provide systems for automatically partitioning data elements which provide accurate and reliable results in computationally inexpensive ways. This is particularly so for two dimensional and higher dimensional data elements such as image data elements from digital still images, video images, electronic ink images and the like.